Designers of computing devices, such as mobile phones, laptop computers, desktop computers, and tablets are constantly asked to make devices with large amounts of memory. However, more memory leads to increased size, weight, and costs for the consumer. With the ever-increasing number of applications and processes that run on computing devices, providing sufficient memory while meeting other design criteria is especially challenging.